package com.alm.token.apinew;

import android.graphics.Bitmap;
import android.telephony.SmsMessage;

import com.alm.token.ui.data.bean.ActiveMioData;
import com.alm.token.ui.data.bean.ActivityDetailData;
import com.alm.token.ui.data.bean.ActivityIndexData;
import com.alm.token.ui.data.bean.ActivityJoinListData;
import com.alm.token.ui.data.bean.AddAppendOrderData;
import com.alm.token.ui.data.bean.AddDrawData;
import com.alm.token.ui.data.bean.AddRedBagData;
import com.alm.token.ui.data.bean.AddSubscribeOrderData;
import com.alm.token.ui.data.bean.AddUpCloseVipData;
import com.alm.token.ui.data.bean.BindEmailData;
import com.alm.token.ui.data.bean.BuyHMioAddData;
import com.alm.token.ui.data.bean.BuyHMioIndexData;
import com.alm.token.ui.data.bean.BuyHMioOrderLogData;
import com.alm.token.ui.data.bean.BuyHMioTransIndexData;
import com.alm.token.ui.data.bean.CancelSubScribeOrderData;
import com.alm.token.ui.data.bean.CandyOrderDetilData;
import com.alm.token.ui.data.bean.CandyOrderListData;
import com.alm.token.ui.data.bean.ChannelTypeData;
import com.alm.token.ui.data.bean.CoinDetailData;
import com.alm.token.ui.data.bean.CorwdAddData;
import com.alm.token.ui.data.bean.CorwdIndexData;
import com.alm.token.ui.data.bean.CorwdListData;
import com.alm.token.ui.data.bean.CurrencyChangeData;
import com.alm.token.ui.data.bean.CurrencyChangeIndexData;
import com.alm.token.ui.data.bean.CurrencyChangeListData;
import com.alm.token.ui.data.bean.CurrentOrderData;
import com.alm.token.ui.data.bean.DrawIndexData;
import com.alm.token.ui.data.bean.DrawListData;
import com.alm.token.ui.data.bean.EggPartnerIndexData;
import com.alm.token.ui.data.bean.EggRankingData;
import com.alm.token.ui.data.bean.EggWalletLogData;
import com.alm.token.ui.data.bean.FindMoreData;
import com.alm.token.ui.data.bean.FindMoreNewData;
import com.alm.token.ui.data.bean.FortunePageData;
import com.alm.token.ui.data.bean.FundArealistResponse;
import com.alm.token.ui.data.bean.G12CanData;
import com.alm.token.ui.data.bean.GetRedBagsDat;
import com.alm.token.ui.data.bean.GoogleAuthKeyData;
import com.alm.token.ui.data.bean.HMioMapData;
import com.alm.token.ui.data.bean.HangQingMoreData;
import com.alm.token.ui.data.bean.InviteFriendsData;
import com.alm.token.ui.data.bean.KuaCurrencyListData;
import com.alm.token.ui.data.bean.LH20orderHistoryData;
import com.alm.token.ui.data.bean.LH2OrderDetailsData;
import com.alm.token.ui.data.bean.LeHuoBaoListData;
import com.alm.token.ui.data.bean.LoginData;
import com.alm.token.ui.data.bean.MessageData;
import com.alm.token.ui.data.bean.MiningWalletTypeIndexData;
import com.alm.token.ui.data.bean.MioOperatorAddOrderData;
import com.alm.token.ui.data.bean.MyIncomeData;
import com.alm.token.ui.data.bean.MyIncomeLogData;
import com.alm.token.ui.data.bean.MyTeamData;
import com.alm.token.ui.data.bean.OutPutRedBagData;
import com.alm.token.ui.data.bean.QuantitativeAShouyiListData;
import com.alm.token.ui.data.bean.QuantitativeBaseChangeData;
import com.alm.token.ui.data.bean.QuotaPageData;
import com.alm.token.ui.data.bean.QuotaWalletIndexData;
import com.alm.token.ui.data.bean.RechargeAddressData;
import com.alm.token.ui.data.bean.RedRobDetailData;
import com.alm.token.ui.data.bean.RegisterData;
import com.alm.token.ui.data.bean.ShowUserXingjiData;
import com.alm.token.ui.data.bean.StakingHomeData;
import com.alm.token.ui.data.bean.StakingMiningMoneyDrawIndexData;
import com.alm.token.ui.data.bean.StakingOrderAddData;
import com.alm.token.ui.data.bean.StakingOrderAppendData;
import com.alm.token.ui.data.bean.StakingOrderHistoryData;
import com.alm.token.ui.data.bean.StakingOrderIndexData;
import com.alm.token.ui.data.bean.SubscribeOrderListData;
import com.alm.token.ui.data.bean.SuperColorEggData;
import com.alm.token.ui.data.bean.TransferTransData;
import com.alm.token.ui.data.bean.UpdateData;
import com.alm.token.ui.data.bean.UserData;
import com.alm.token.ui.data.bean.UserListLHData;
import com.alm.token.ui.data.bean.UserPayAdressData;
import com.alm.token.ui.data.bean.UserWalletData;
import com.alm.token.ui.data.bean.VipOrderListData;
import com.alm.token.ui.data.bean.WalletLogDetaiData;
import com.alm.token.ui.data.bean.ZhuijiashowData;
import com.alm.token.ui.viewpagefragment.HangQingPageFrag;

import java.util.List;
import java.util.Map;

import io.reactivex.Observable;
import okhttp3.RequestBody;
import okhttp3.Response;
import okhttp3.ResponseBody;
import retrofit2.Call;
import retrofit2.http.Body;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Header;
import retrofit2.http.POST;
import retrofit2.http.Path;
import retrofit2.http.Query;
import retrofit2.http.Streaming;
import retrofit2.http.Url;

/**
 * @author: Allen.
 * @date: 2018/7/25
 * @description:
 */

public interface AllApi {


    /**
     * 此接口用于从网络获取数据的接口，使用retrofit框架
     */

    /**
     * 登录获取token
     *
     * @param username
     * @param pwd
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/login")
    Observable<LoginData> getLoginData(@Field("username") String username,
                                       @Field("pwd") String pwd);


    /**
     * 获取短信验证码
     *
     * @param mobile
     * @param key
     * @param isCheckRegister
     * @return
     */
    @FormUrlEncoded
    @POST("/api/sms/send-sms-code")
    Observable<RegisterData> getSmsCodeData(@Field("mobile") String mobile,
                                            @Field("key") String key,
                                            @Field("isCheckRegister") String isCheckRegister);

    /**
     * 获取短信验证码
     *
     * @param mobile
     * @param key
     * @param isCheckRegister
     * @param pcode           注册页需要这个参数
     * @return
     */
    @FormUrlEncoded
    @POST("/api/sms/send-sms-code")
    Observable<RegisterData> getSmsCode1Data(@Field("mobile") String mobile,
                                             @Field("key") String key,
                                             @Field("isCheckRegister") String isCheckRegister,
                                             @Field("pcode") String pcode);

    /**
     * 获取图形验证码
     *
     * @return
     */
    @Streaming
    @GET("/app/API/createCode")
    Call<ResponseBody> getcreateCodeData();


    /**
     * 获取谷歌验证码
     */
    @POST("/api/user/pwd/getGoogleAuthKey")
    Observable<GoogleAuthKeyData> getGoogleAuthKey();


    /**
     * 绑定谷歌验证码
     */
    @FormUrlEncoded
    @POST("/api/user/pwd/bindGoogleSecretKey")
    Observable<GoogleAuthKeyData> bindGoogleSecretKey(@Field("code") String code);

    /**
     * 解除绑定的谷歌验证码
     */
    @FormUrlEncoded
    @POST("/api/user/pwd/unbindGoogleSecretKey")
    Observable<GoogleAuthKeyData> unbindGoogleSecretKey(@Field("code") String code);


    /**
     * 发送邮箱验证码
     *
     * @param email 收件地址
     * @param key   邮件发送类型  "bind_mail"为用户绑定邮箱    "change_mail"邮箱更换    "back_password"为修改密码
     *              "add_pay_password" 设置支付密码    "update_pay_password"修改支付密码    "back_pay_password"找回支付密码
     *              "draw"提现    "currency_change"币种互转    "update_password": 修改登录密码    "get_mnemonic":获取助记词
     * @return
     */
    @FormUrlEncoded
    @POST("/api/sms/sendMail")
    Observable<RegisterData> sendMailCode(@Field("email") String email,
                                          @Field("key") String key);


    /**
     * 邮箱验证码验证
     *
     * @param email
     * @param message
     * @param type
     * @param payPwd
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/verifyCode")
    Observable<RegisterData> verifyCode(@Field("email") String email,
                                        @Field("message") String message,
                                        @Field("type") String type,
                                        @Field("payPwd") String payPwd);


    /**
     * 绑定邮箱
     *
     * @param email    邮箱
     * @param message  邮箱验证码
     * @param key      "bind_mail"用户绑定邮箱
     * @param payPwd   有设置过支付密码
     * @param mnemonic 绑定邮箱时传入
     * @param country  国家名称
     * @param areacode 国家区号
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/mail")
    Observable<BindEmailData> bindMail(@Field("email") String email,
                                       @Field("message") String message,
                                       @Field("key") String key,
                                       @Field("mnemonic") String mnemonic,
                                       @Field("payPwd") String payPwd,
                                       @Field("country") String country,
                                       @Field("areacode") String areacode);

    /**
     * 邮箱更换
     *
     * @param oldMail 邮箱
     * @param oldMsg  邮箱验证码
     * @param newMail
     * @param newMsg
     * @return
     */
    @FormUrlEncoded
    @POST("/api/sms/upMail")
    Observable<RegisterData> upMail(@Field("oldMail") String oldMail,
                                    @Field("oldMsg") String oldMsg,
                                    @Field("newMail") String newMail,
                                    @Field("newMsg") String newMsg);

    /**
     * 注册
     *
     * @param phone
     * @param pwd
     * @param message
     * @param username
     * @param code
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/register")
    Observable<RegisterData> getRegisterData(@Field("phone") String phone,
                                             @Field("pwd") String pwd,
                                             @Field("message") String message,
                                             @Field("username") String username,
                                             @Field("code") String code);


    /**
     * 注册
     *
     * @param pwd
     * @param message
     * @param username
     * @param code
     * @param mnemonic
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/mail/register")
    Observable<RegisterData> getRegistermailData(@Field("pwd") String pwd,
                                                 @Field("message") String message,
                                                 @Field("username") String username,
                                                 @Field("code") String code,
                                                 @Field("mnemonic") String mnemonic);


    /**
     * 重置密码
     *
     * @param pwd
     * @param mnemonic
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/updatePwd")
    Observable<RegisterData> getupdatePwd(@Field("pwd") String pwd,
                                          @Field("mnemonic") String mnemonic);

    /**
     * 修改登录密码
     *
     * @param oldPwd
     * @param newPwd
     * @param newPwdSecond
     * @param verifyCode
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/updateLoginPwd")
    Observable<RegisterData> getupdateLoginPwdData(@Field("oldPwd") String oldPwd,
                                                   @Field("newPwd") String newPwd,
                                                   @Field("newPwdSecond") String newPwdSecond,
                                                   @Field("verifyCode") String verifyCode);

    /**
     * 检测是否设置了支付密码
     *
     * @return // "data": 1, 1 有 0 没有
     */
    @POST("/api/user/pwd/havePayPwd")
    Observable<RegisterData> getHavePayPwd();

    /**
     * 添加支付密码
     *
     * @param pwd        密码1
     * @param secondPwd  密码2
     * @param verifyCode 验证码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/pwd/addPayPwd")
    Observable<RegisterData> getAddPayPwdData(@Field("pwd") String pwd,
                                              @Field("secondPwd") String secondPwd,
                                              @Field("verifyCode") String verifyCode);

    /**
     * 修改支付密码
     *
     * @param oldPwd       old密码
     * @param newPwd       密码1
     * @param newPwdSecond 密码2
     * @param verifyCode   验证码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/pwd/editPayPwd")
    Observable<RegisterData> getEditPayPwdData(@Field("oldPwd") String oldPwd,
                                               @Field("newPwd") String newPwd,
                                               @Field("newPwdSecond") String newPwdSecond,
                                               @Field("verifyCode") String verifyCode);

    /**
     * 支付密码找回
     *
     * @param pwd        old密码
     * @param secondPwd  密码1
     * @param authCode   密码2
     * @param verifyCode 验证码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/pwd/payPwdGetBack")
    Observable<RegisterData> getPayPwdGetBackData(@Field("pwd") String pwd,
                                                  @Field("secondPwd") String secondPwd,
                                                  @Field("authCode") String authCode,
                                                  @Field("verifyCode") String verifyCode);

    /**
     * 获取助记词
     *
     * @param googleCode 金额
     * @param verifyCode 验证码
     * @param payPwd     支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/getMnemonic")
    Observable<GoogleAuthKeyData> getMnemonic(@Field("verifyCode") String verifyCode,
                                              @Field("payPwd") String payPwd,
                                              @Field("googleCode") String googleCode);

    /**
     * 更换手机号
     *
     * @param oldMobile
     * @param oldCode
     * @param newMobile
     * @param newCode
     * @param pwd
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/changePhone")
    Observable<RegisterData> changePhoneData(@Field("oldMobile") String oldMobile,
                                             @Field("oldCode") String oldCode,
                                             @Field("newMobile") String newMobile,
                                             @Field("newCode") String newCode,
                                             @Field("pwd") String pwd);


    /**
     * 财富 首页数据
     *
     * @return
     */

    @POST("/api/LH2Order/home")
    Observable<FortunePageData> getLH2OrderHomeData();

    /**
     * 财富  AGO历史数据
     *
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LH2Order/orderHistory")
    Observable<LH20orderHistoryData> getLH2OorderHistoryData(@Field("page") String page,
                                                             @Field("limit") String limit);


    /**
     * staking 挖矿staking首页
     *
     * @return
     */

    @POST("/api/mining/index")
    Observable<StakingHomeData> getStakingHomeData();

    /**
     * staking 挖矿币种首页
     *
     * @param moneyType
     * @param orderSn
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/addOrderIndex")
    Observable<StakingOrderIndexData> getStakingOrderIndexData(@Field("moneyType") String moneyType,
                                                               @Field("orderSn") String orderSn);

    /**
     * staking 预约挖矿
     *
     * @param moneyType
     * @param money
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/addOrder")
    Observable<StakingOrderAddData> getStakingAddOrderData(@Field("moneyType") String moneyType,
                                                           @Field("money") String money,
                                                           @Field("payPwd") String payPwd);

    /**
     * staking 取消排队
     *
     * @param orderSn
     * @param payPwd
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/cancelQueuing")
    Observable<RegisterData> getStakingCancelQueuingData(@Field("orderSn") String orderSn,
                                                         @Field("payPwd") String payPwd);

    /**
     * staking 支付挖矿订单
     *
     * @param orderSn
     * @param payPwd
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/payOrder")
    Observable<RegisterData> getStakingPayOrderData(@Field("orderSn") String orderSn,
                                                    @Field("payPwd") String payPwd);


    /**
     * staking 追加挖矿币种
     *
     * @param moneyType
     * @param money
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/appendOrder")
    Observable<StakingOrderAppendData> getStakingAppendOrderData(@Field("orderSn") String orderSn,
                                                                 @Field("moneyType") String moneyType,
                                                                 @Field("money") String money);

    /**
     * staking 关闭全部挖矿
     *
     * @param orderSn
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/closeAllOrder")
    Observable<StakingOrderAppendData> getStakingCloseAllOrderData(@Field("orderSn") String orderSn);

    /**
     * staking 挖矿部分关闭
     *
     * @param requestBody
     * @return
     */
    @POST("/api/mining/closeOrderByMoney")
    Observable<StakingOrderAppendData> getStakingCloseOrderByMoneyData(@Body RequestBody requestBody);

    /**
     * staking   订单列表
     *
     * @param page
     * @param limit
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/orderList")
    Observable<StakingOrderHistoryData> getStakingOrderListData(@Field("page") String page,
                                                                @Field("limit") String limit);

    /**
     * staking   挖矿订单收益
     *
     * @param orderSn     需要查询的订单号，没有则为查询全部订单的收益
     * @param page
     * @param limit
     * @param channelType 奖励类型
     * @param moneyType   币种类型
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/orderIncomeList")
    Observable<StakingOrderHistoryData> getStakingOrderIncomeListData(@Field("orderSn") String orderSn,
                                                                      @Field("page") String page,
                                                                      @Field("limit") String limit,
                                                                      @Field("channelType") String channelType,
                                                                      @Field("incomeType") String incomeType,
                                                                      @Field("moneyType") String moneyType);

    /**
     * staking   挖矿币种转换首页
     *
     * @param moneyType 币种类型
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/miningMoneyDrawIndex")
    Observable<StakingMiningMoneyDrawIndexData> getStakingMiningMoneyDrawIndexData(@Field("moneyType") String moneyType);

    /**
     * staking   挖矿币种转换
     *
     * @param money
     * @param payPwd    奖励类型
     * @param moneyType 币种类型
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/drawMiningOrderMoney")
    Observable<RegisterData> getStakingDrawMiningOrderMoneyData(@Field("payPwd") String payPwd,
                                                                @Field("money") String money,
                                                                @Field("moneyType") String moneyType,
                                                                @Field("intoMoneyType") String intoMoneyType);

    /**
     * 获取首页钱包数据
     *
     * @return
     */

    @POST("/api/user/index")
    Observable<UserWalletData> getUserWalletData();

    /**
     * 跨币币种列表
     *
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/getWallets")
    Observable<KuaCurrencyListData> getKuaWalletsData(@Field("type") String type);

    /**
     * 获取公告/平台消息
     *
     * @param msgType
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/msg")
    Observable<MessageData> getMessageData(@Field("msgType") String msgType);

    /**
     * 获取超级彩蛋_数据
     *
     * @return
     */
    @POST("/api/egg/index")
    Observable<SuperColorEggData> getSuperColorEggData();


    /**
     * 预约订单列表
     *
     * @param page  页数
     * @param limit 条数
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/subscribeOrderList")
    Observable<SubscribeOrderListData> getSubscribeOrderList(@Field("page") String page,
                                                             @Field("limit") String limit);

    /**
     * 添加预约订单
     *
     * @param eggProductId
     * @param time
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/addSubscribeOrder")
    Observable<AddSubscribeOrderData> getAddSubscribeOrder(@Field("eggProductId") String eggProductId,
                                                           @Field("time") String time,
                                                           @Field("payPwd") String payPwd,
                                                           @Field("subTimestamp") String subTimestamp);

    /**
     * 预约订单删除
     *
     * @param id
     * @param payPwd
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/cancelSubScribeOrder")
    Observable<CancelSubScribeOrderData> getCancelSubScribeOrder(@Field("id") String id,
                                                                 @Field("payPwd") String payPwd);


    /**
     * 购买超蛋
     *
     * @param goodsId 购买的产品id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/add")
    Observable<RegisterData> getEggAddData(@Field("goodsId") String goodsId,
                                           @Field("payPwd") String payPwd);

    /**
     * 彩蛋排行榜
     *
     * @param page  页数
     * @param limit 条数
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/ranking")
    Observable<EggRankingData> getEggRankingData(@Field("page") String page,
                                                 @Field("limit") String limit);

    /**
     * 彩蛋钱包记录
     *
     * @param page      页数
     * @param limit     条数
     * @param moneyType 我的彩蛋  ：moneyType : 1 /    我的SMIO ：moneyType: 2  /  我的smio激励  ：moneyType : 2 channelType :3
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/walletLog")
    Observable<EggWalletLogData> getEggWalletLogData(@Field("page") String page,
                                                     @Field("limit") String limit,
                                                     @Field("moneyType") String moneyType);

    /**
     * 激励记录
     *
     * @param page  页数
     * @param limit 条数
     * @param type  1 彩蛋激励 2 合伙人收益
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/eggExcitation")
    Observable<EggWalletLogData> getEggExcitationData(@Field("page") String page,
                                                      @Field("limit") String limit,
                                                      @Field("type") String type);


    /**
     * 合伙人首页_数据
     *
     * @return
     */
    @POST("/api/egg/partner/index")
    Observable<EggPartnerIndexData> getEggPartnerIndexData();

    /**
     * 购买合伙人
     *
     * @param goodsId 购买的产品id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/egg/partner/order/add")
    Observable<RegisterData> getEggPartnerAddData(@Field("goodsId") String goodsId);

    /**
     * mioex首页_数据
     *
     * @return
     */
    @POST("/api/mioOperator/index")
    Observable<EggPartnerIndexData> getMioOperatorIndexData();

    /**
     * 购买mioex
     *
     * @param productId 购买的产品id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mioOperator/addOrder")
    Observable<MioOperatorAddOrderData> getMioOperatorAddData(@Field("productId") String productId);


    /**
     * mioopr首页_数据
     *
     * @return
     */
    @POST("/api/mioOperator/operatorIndex")
    Observable<EggPartnerIndexData> getMioOperatorOprIndexData();

    /**
     * 购买mioopr
     *
     * @param productId 购买的产品id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mioOperator/addOperatorOrder")
    Observable<MioOperatorAddOrderData> getMioOperatorOprAddData(@Field("productId") String productId);

    /**
     * 购买_订单付款
     *
     * @param orderSn 购买的产品id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/payOrder/pay")
    Observable<RegisterData> getMioOperatorPayOrderData(@Field("orderSn") String orderSn,
                                                        @Field("payPwd") String payPwd);

    /**
     * 获取当期vip订单信息
     *
     * @return
     */
    @POST("/api/vip/order")
    Observable<CurrentOrderData> getCurrentOrderData();

    /**
     * 申请/升级Vip
     *
     * @param type
     * @param payPwd 支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/vip/add")
    Observable<AddUpCloseVipData> getAddUpVipData(@Field("type") String type,
                                                  @Field("acMoney") String acMoney,
                                                  @Field("froMoney") String froMoney,
                                                  @Field("payPwd") String payPwd);

    /**
     * 解除VIP
     *
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/vip/stopVip")
    Observable<AddUpCloseVipData> getStopVipData(@Field("payPwd") String payPwd);

    /**
     * vip订单历史
     *
     * @param limit 条数 100
     * @param page  页数  1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/vip/orderList")
    Observable<VipOrderListData> getVipOrderListData(@Field("limit") String limit,
                                                     @Field("page") String page);

    /**
     * 乐活宝 记录
     *
     * @param orderId     量化订单id
     * @param limit       条数 100
     * @param page        页数  1
     * @param channelType 收益类型，全部传null值
     * @param moneyType   金额类型
     * @param incomeType  收入支出类型
     * @return
     */
    @FormUrlEncoded
    @POST("/api/wallet/log")
    Observable<LeHuoBaoListData> getLeHuoBaoListData(@Field("orderId") String orderId,
                                                     @Field("limit") String limit,
                                                     @Field("page") String page,
                                                     @Field("channelType") String channelType,
                                                     @Field("moneyType") String moneyType,
                                                     @Field("incomeType") String incomeType);

    /**
     * 乐活宝 收益类型
     *
     * @param
     * @return
     */
    @POST("/api/wallet/getChannelType")
    Observable<ChannelTypeData> getChannelTypeData();

    /**
     * 乐活宝 充值
     *
     * @param money 金额 double
     * @return
     */
    @FormUrlEncoded
    @POST("/api/wallet/topUps")
    Observable<RegisterData> getLeHuoTopUpsData(@Field("money") String money);


    /**
     * 参与众筹
     *
     * @param moneyType wallets 中的id
     * @param price     数量
     * @return
     */
    @FormUrlEncoded
    @POST("/api/crowd/add")
    Observable<CorwdAddData> getCorwdAddData(@Field("moneyType") String moneyType,
                                             @Field("price") String price);

    /**
     * 众筹首页
     *
     * @return
     */
    @POST("/api/crowd/index")
    Observable<CorwdIndexData> getCorwdIndexData();

    /**
     * 众筹历史
     *
     * @return
     */
    @POST("/api/crowd/list")
    Observable<CorwdListData> getCorwdListData();


    /**
     * 红包 领取红包
     *
     * @param redId 红包的id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/redPacket/rob")
    Observable<GetRedBagsDat> getRedRobData(@Field("redId") String redId);

    /**
     * 红包 发送红包记录
     *
     * @param
     * @return
     */
    @POST("/api/redPacket/output")
    Observable<OutPutRedBagData> getOutPutRedBagData();

    /**
     * 红包 领取红包记录
     *
     * @param
     * @return
     */
    @POST("/api/redPacket/input")
    Observable<OutPutRedBagData> getInPutRedBagData();


    /**
     * 糖果 糖果余额
     *
     * @return
     */
    @POST("/api/candy/getActiveMio")
    Observable<ActiveMioData> getActiveMio();

    /**
     * 糖果 添加糖果
     *
     * @param jine     红包金额
     * @param num      红包个数
     * @param thistype 1随机2固定
     * @return
     */
    @FormUrlEncoded
    @POST("/api/candy/submitHongBao")
    Observable<RegisterData> getSubmitHongBaoData(@Field("jine") String jine,
                                                  @Field("num") String num,
                                                  @Field("thistype") String thistype,
                                                  @Field("moneyType") String moneyType,
                                                  @Field("payPwd") String payPwd);

    /**
     * 糖果 记录
     *
     * @param
     * @return
     */
    @POST("/api/candy/getOrderList")
    Observable<CandyOrderListData> getCandyOrderList();

    /**
     * 糖果 记录item详情
     *
     * @param oderid
     * @return
     */
    @FormUrlEncoded
    @POST("/api/candy/getOrderDetil")
    Observable<CandyOrderDetilData> getCandyOrderDetil(@Field("oderid") String oderid);

    /**
     * 糖果 退回糖果
     *
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/candy/candyReturn")
    Observable<CandyOrderDetilData> getCandyReturnData(@Field("orderid") String orderid);

    @FormUrlEncoded
    @POST()
    Observable<RegisterData> getDrawCandyData(@Url String url, @Field("mycode") String mycode);


    /**
     * 红包 红包详情
     *
     * @param redId 红包的id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/redPacket/packetDetail")
    Observable<RedRobDetailData> getRedRobDetailData(@Field("redId") String redId);


    //    请求参数：
//    limit : （可选）获取的条数限制，取值（1-200），默认 20
//    id : （可选）从第几条快讯ID进行查询，默认 0
//    flag : （可选）结合id，是向上（大于）查询还是向下（小于）查询，取值up、down，默认down
//    默认值 : id=0&flag=down，获取最新的 {limit} 条快讯记录
//    使用 : id=100&flag=down, 获取小于id 100 的 {limit} 条快讯记录，适用于获取历史快讯
//    使用 : id=200&flag=up, 获取大于id 200 的 {limit} 条快讯记录，适用于获取最新快讯（注意，
//    依然会返回小于id为200的数据）     BITFINEX:BTCUSD?unit=usd
    @GET("/live/list")
    Observable<FindMoreData> getFindMoreData(@Query("id") String id,
                                             @Query("flag") String flag,
                                             @Query("limit") String limit);

    //发现页面
    @POST("/api/LH2Order/find")
    Observable<FindMoreNewData> getFindMoreDataNew();

    @GET("/api/v1/tick/{ticker}?unit=usd")
    Observable<HangQingMoreData> getHangQingMoreData(@Path("ticker") String ticker);

    /**
     * 区块链钱包充值地址
     *
     * @return
     */

    @POST("/app/API/getUserPayAdress")
    Observable<UserPayAdressData> getUserPayAdress();


    /**
     * 获取充值地址
     *
     * @return type
     */
    @FormUrlEncoded
    @POST("/api/user/getRechargeAddress")
    Observable<RechargeAddressData> getRechargeAddress(@Field("type") String type);


    /**
     * 提现
     *
     * @param money      金额
     * @param token      token
     * @param msg        备注
     * @param moneyType  1 ETH 2 G12
     * @param verifyCode 验证码
     * @param payPwd     支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/draw/add")
    Observable<AddDrawData> getAddDrawData(@Field("money") String money,
                                           @Field("token") String token,
                                           @Field("msg") String msg,
                                           @Field("moneyType") String moneyType,
                                           @Field("tag") String tag,
                                           @Field("verifyCode") String verifyCode,
                                           @Field("payPwd") String payPwd,
                                           @Field("googleCode") String googleCode);


    /**
     * 提现记录
     *
     * @param limit 条数 默认100
     * @param page  页数 默认1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/draw/list")
    Observable<DrawListData> getDrawListData(@Field("limit") String limit,
                                             @Field("page") String page);

    /**
     * 提现首页
     *
     * @param moneyType
     * @return
     */
    @FormUrlEncoded
    @POST("/api/draw/index")
    Observable<DrawIndexData> getDrawIndexData(@Field("moneyType") String moneyType);


    /**
     * 提交转账订单
     *
     * @param money        金额
     * @param intoUserName 转入账号
     * @param moneyType    1 ETH 2 G12 ....
     * @param verifyCode   验证码
     * @param payPwd       支付密码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/transfer/trans")
    Observable<TransferTransData> getTransfertransData(@Field("money") String money,
                                                       @Field("intoUserName") String intoUserName,
                                                       @Field("moneyType") String moneyType,
                                                       @Field("verifyCode") String verifyCode,
                                                       @Field("payPwd") String payPwd,
                                                       @Field("googleCode") String googleCode);

    /**
     * 检测登录名是否存在
     *
     * @param loginName 用户名
     * @return
     */
    @FormUrlEncoded
    @POST("/app/API/checkLoginName")
    Observable<RegisterData> getcheckLoginNameData(@Field("loginName") String loginName);


//    /**
//     * 提现记录
//     *
//     * @param limit     条数 默认100
//     * @param page      页数 默认1
//     * @param moneyType 充值类型 1 ETH 2 G12
//     * @return
//     */
//    @FormUrlEncoded
//    @POST("/api/draw/list")
//    Observable<DrawListData> getDrawListData(@Field("limit") String limit,
//                                             @Field("page") String page,
//                                             @Field("moneyType") String moneyType);

    /**
     * 转账首页
     *
     * @param
     * @return
     */
    @POST("/api/transfer/index")
    Observable<DrawIndexData> getTransferIndexData();


    /**
     * 币种转换
     *
     * @param outMoney     double 需要转换的金额
     * @param outMoneyType 转出币种 1 ETH 2 G12
     * @param inMoneyType  需要转入的币种
     * @return
     */
    @FormUrlEncoded
    @POST("/api/change/change")
    Observable<CurrencyChangeData> getCurrencyChangeData(@Field("outMoney") String outMoney,
                                                         @Field("outMoneyType") String outMoneyType,
                                                         @Field("inMoneyType") String inMoneyType,
                                                         @Field("payPwd") String payPwd);

    /**
     * 订单列表 币种转换
     *
     * @param limit 条数 100
     * @param page  页数  1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/change/list")
    Observable<CurrencyChangeListData> getCurrencyChangeListData(@Field("limit") String limit,
                                                                 @Field("page") String page);

    /**
     * 币种转换首页  币种转换
     *
     * @param
     * @param
     * @return
     */
    @POST("/api/change/index")
    Observable<CurrencyChangeIndexData> getCurrencyChangeIndexData();


    /**
     * 优兑 额度首页
     *
     * @param
     * @param
     * @return
     */
    @POST("/api/user/getExchangeQuotaWalletIndex")
    Observable<QuotaWalletIndexData> getExchangeQuotaWalletIndexData();

    /**
     * 优兑 额度兑换记录
     *
     * @param
     * @param
     * @return
     */
    @POST("/api/user/getQuotaPage")
    Observable<QuotaPageData> getQuotaPageData();

    /**
     * 币种转换首页  优兑
     *
     * @param outType  需要兑出的币种  = 2
     * @param intoType 需要兑换的币种  = 12
     * @return
     */
    @FormUrlEncoded
    @POST("/api/change/index")
    Observable<CurrencyChangeIndexData> getCurrencyChangeIndexData(@Field("outType") String outType,
                                                                   @Field("intoType") String intoType);


    /**
     * 获取G12
     *
     * @return
     */
    @POST("/api/LHOrder/getG12Can")
    Observable<G12CanData> getG12CanData();

    /**
     * 量化2.0 订单详情
     */
    @POST("/api/LH2Order/orderDetails")
    Observable<LH2OrderDetailsData> getLH2OrderDetailsData();

    /**
     * 量化2.0 订单收益list
     */
    @FormUrlEncoded
    @POST("/api/LH2Order/caifu")
    Observable<QuantitativeAShouyiListData> getLH2OrderCaifuListData(@Field("limit") String limit,
                                                                     @Field("page") String page);

    /**
     * 量化2.0  订单添加追加的显示
     *
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LH2Order/noOrderShow")
    Observable<QuantitativeBaseChangeData> getLH2OrderNoOrderShowData(@Field("type") String type);

    /**
     * 量化2.0  部分关闭显示
     *
     * @return
     */
    @POST("/api/LH2Order/partOrderShow")
    Observable<QuantitativeBaseChangeData> getLH2OrderPartOrderShowData();

    /**
     * 30添加量化订单  /api/LHOrder/addLhOrder
     *
     * @param money      ETH 数量
     * @param moneyType  MIOnum 数量
     * @param hmoney     币种类型 ETH=1
     * @param hmoneyType 币种类型 ETH=1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LH3Order/addOrder")
    Observable<BuyHMioAddData> getAdd30LhOrderData(@Field("money") String money,
                                                   @Field("moneyType") String moneyType,
                                                   @Field("hmoney") String hmoney,
                                                   @Field("hmoneyType") String hmoneyType,
                                                   @Field("payPwd") String payPwd);

    /**
     * 30追加 量化订单  /api/LHOrder/appendOrder
     *
     * @param money     不带H的币种
     * @param hmoney    MIOnum 数量
     * @param moneyType 币种类型 ETH=1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LH3Order/appendOrder")
    Observable<LH2OrderDetailsData> getAppend30OrderData(@Field("money") String money,
                                                         @Field("hmoney") String hmoney,
                                                         @Field("moneyType") String moneyType,
                                                         @Field("hmoneyType") String hmoneyType,
                                                         @Field("payPwd") String payPwd);


    /**
     * 30all关闭 量化订单
     *
     * @param ordersn
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LH3Order/closeOrder")
    Observable<AddAppendOrderData> getLH2OrderCloseOrderData(@Field("ordersn") String ordersn,
                                                             @Field("payPwd") String payPwd);

    /**
     * 30 部分关闭 量化订单
     *
     * @param ordersn
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LH3Order/closeOrderPart")
    Observable<LH2OrderDetailsData> getLH2OrderCloseOrderPartData(@Field("ordersn") String ordersn,
                                                                  @Field("moneyType") String moneyType,
                                                                  @Field("money") String money,
                                                                  @Field("hmoneyType") String hmoneyType,
                                                                  @Field("hmoney") String hmoney,
                                                                  @Field("payPwd") String payPwd);

    /**
     * 会员量化订单列表  /api/LHOrder/userListLH
     *
     * @param page  页数  1
     * @param limit 条数 100
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LHOrder/userListLH")
    Observable<UserListLHData> getUserListLHData(@Field("limit") String limit,
                                                 @Field("page") String page);

    /**
     * 点击添加量化订单显示  /api/LHOrder/showUserXingji
     *
     * @return
     */
    @POST("/api/LHOrder/showUserXingji")
    Observable<ShowUserXingjiData> getShowUserXingjiData();

    /**
     * 添加量化订单  /api/LHOrder/addLhOrder
     *
     * @param xingji    星级
     * @param ETHnum    ETH 数量
     * @param MIOnum    MIOnum 数量
     * @param ordertype 币种类型 ETH=1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LHOrder/addLhOrder")
    Observable<AddAppendOrderData> getAddLhOrderData(@Field("xingji") String xingji,
                                                     @Field("ETHnum") String ETHnum,
                                                     @Field("MIOnum") String MIOnum,
                                                     @Field("ordertype") String ordertype,
                                                     @Field("payPwd") String payPwd);

    /**
     * 追加 量化订单  /api/LHOrder/appendOrder
     *
     * @param xingji    星级
     * @param ETHnum    ETH 数量
     * @param MIOnum    MIOnum 数量
     * @param ordertype 币种类型 ETH=1
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LHOrder/appendOrder")
    Observable<AddAppendOrderData> getAppendOrderData(@Field("xingji") String xingji,
                                                      @Field("ETHnum") String ETHnum,
                                                      @Field("MIOnum") String MIOnum,
                                                      @Field("ordertype") String ordertype,
                                                      @Field("payPwd") String payPwd);

    /**
     * 追加显示 量化订单  /api/LHOrder/zhuijiashow
     *
     * @param ordersn
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LHOrder/zhuijiashow")
    Observable<ZhuijiashowData> getZhuijiashowData(@Field("ordersn") String ordersn);

    /**
     * 关闭 量化订单  /api/LHOrder/closeOrder
     *
     * @param ordersn
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LHOrder/closeOrder")
    Observable<AddAppendOrderData> getCloseOrderData(@Field("ordersn") String ordersn,
                                                     @Field("payPwd") String payPwd);


    /**
     * 关闭 量化订单  /api/LHOrder/closeOrder
     *
     * @param ordersn
     * @param
     * @return
     */
    @FormUrlEncoded
    @POST("/api/LHOrder/closeOrderPart")
    Observable<AddAppendOrderData> getcloseOrderPartData(@Field("ordersn") String ordersn,
                                                         @Field("moneyType") String moneyType,
                                                         @Field("money") String money,
                                                         @Field("payPwd") String payPwd);

    /**
     * HMIO映射数据
     *
     * @return
     */
    @POST("/api/hmio/map")
    Observable<HMioMapData> getHMioMapData();


    /**
     * HMIO映射绑定
     *
     * @param address
     * @param payPwd
     * @return
     */
    @FormUrlEncoded
    @POST("/api/hmio/bind")
    Observable<BuyHMioAddData> getHmioBindData(@Field("address") String address,
                                               @Field("payPwd") String payPwd);

    /**
     * HMIO 兑换首页
     *
     * @return
     */
    @POST("/api/transaction/HMio/index")
    Observable<BuyHMioTransIndexData> getHMioIndexData();

    /**
     * HMIO 开始兑换首页
     *
     * @return
     */
    @POST("/api/transaction/HMio/transIndex")
    Observable<BuyHMioTransIndexData> getHMioTransIndexData();

    /**
     * HMIO 添加兑换订单
     *
     * @param dollar    页数  1
     * @param moneyType 条数 100
     * @param payPwd    条数 100
     * @return
     */
    @FormUrlEncoded
    @POST("/api/transaction/HMio/addOrder")
    Observable<BuyHMioAddData> getHMioAddOrderData(@Field("dollar") String dollar,
                                                   @Field("moneyType") String moneyType,
                                                   @Field("payPwd") String payPwd);


    /**
     * HMIO 兑换记录
     *
     * @param page  页数  1
     * @param limit 条数 100
     * @return
     */
    @FormUrlEncoded
    @POST("/api/transaction/HMio/orderLog")
    Observable<BuyHMioOrderLogData> getHMioOrderLogData(@Field("limit") String limit,
                                                        @Field("page") String page);


    /**
     * 获取版本更新
     *
     * @param apptype
     * @return
     */
    @FormUrlEncoded
    @POST("/api/appversion/getVersion")
    Observable<UpdateData> getUpdateData(@Field("apptype") String apptype);

    /**
     * 获取我的_数据
     *
     * @return
     */
    @POST("/api/user/my")
    Observable<UserData> getMineData();

    /**
     * 获取国家地区数据
     *
     * @return
     */
    @POST("/api/appversion/getAreaCode")
    Observable<FundArealistResponse> getCountryData();

    /**
     * 我的社群_数据
     *
     * @return
     */
    @POST("/api/user/myTeam")
    Observable<MyTeamData> getMyTeamData();

    /**
     * 我的收益_数据
     * AGO 量化 STK 挖矿
     *
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/myIncome")
    Observable<MyIncomeData> getMyIncomeData(@Field("type") String type);

    /**
     * 我的收益详情_数据
     *
     * @return
     */
    @FormUrlEncoded
    @POST("/api/user/myIncome/log")
    Observable<MyIncomeLogData> getMyIncomeLogData(@Field("page") String page,
                                                   @Field("limit") String limit,
                                                   @Field("channelType") String channelType);

    /**
     * 获取币种信息
     *
     * @param type 需要获取的币种信息ID
     * @return
     */
    @FormUrlEncoded
    @POST("/api/sys/coinDetail")
    Observable<CoinDetailData> getCoinDetailData(@Field("type") String type);

    /**
     * 挖矿币种钱包首页
     *
     * @return
     */
    @POST("/api/mioOperator/MioExIndex")
    Observable<MiningWalletTypeIndexData> getMioOperatorMioExIndexData();

    /**
     * mioEx 钱包首页
     *
     * @param moneyType 4mbtc
     * @return
     */
    @FormUrlEncoded
    @POST("/api/mining/miningWalletTypeIndex")
    Observable<MiningWalletTypeIndexData> getMiningWalletTypeIndexData(@Field("moneyType") String moneyType);


    /**
     * 好友推广邀请数据
     *
     * @return
     */
    @POST("/app/API/InviteFriends")
    Observable<InviteFriendsData> getInviteFriendsData();


    /**
     * 设置语言
     *
     * @param lang 语言类型 中文 ：zh_CN 英文 ：en_US
     * @return
     */
    @FormUrlEncoded
    @POST("/api/sys/setLangType")
    Observable<RegisterData> setLangType(@Field("lang") String lang);


    /**
     * 活动首页_数据
     *
     * @return
     */
    @POST("/api/activity/index")
    Observable<ActivityIndexData> getActivityIndexData();

    /**
     * 活动详情
     *
     * @param id 活动id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/activity/activityDetail")
    Observable<ActivityDetailData> getActivityDetailData(@Field("id") String id);

    /**
     * 订单详情
     *
     * @param id 订单id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/activity/userOrderDetail")
    Observable<ActivityDetailData> getActivityUserOrderDetailData(@Field("id") String id);

    /**
     * 参与活动
     *
     * @param orderId            活动id
     * @param msg                备注信息
     * @param userRealName       姓名
     * @param userRealNameEn     英文姓名
     * @param phoneAreaCode      手机区号
     * @param userPhone          手机号
     * @param nationality        国籍
     * @param userSex            性别
     * @param userBirthPlace     出生地
     * @param userBirthTime      出生时间
     * @param passportNo         护照号
     * @param passportCreateTime 护照签发时间
     * @param passportEndTime    护照到期时间
     * @param passportAddress    签发地
     * @return
     */
    @FormUrlEncoded
    @POST("/api/activity/join")
    Observable<RegisterData> getActivityJoinData(@Field("orderId") String orderId,
                                                 @Field("msg") String msg,
                                                 @Field("userRealName") String userRealName,
                                                 @Field("userRealNameEn") String userRealNameEn,
                                                 @Field("phoneAreaCode") String phoneAreaCode,
                                                 @Field("userPhone") String userPhone,
                                                 @Field("nationality") String nationality,
                                                 @Field("userSex") String userSex,
                                                 @Field("userBirthPlace") String userBirthPlace,
                                                 @Field("userBirthTime") String userBirthTime,
                                                 @Field("passportNo") String passportNo,
                                                 @Field("passportCreateTime") String passportCreateTime,
                                                 @Field("passportEndTime") String passportEndTime,
                                                 @Field("passportAddress") String passportAddress,
                                                 @Field("city") String city,
                                                 @Field("productId") String productId,
                                                 @Field("userRealSurname") String userRealSurname,
                                                 @Field("userRealSurnameEn") String userRealSurnameEn);


    /**
     * 支付--参与活动支付
     *
     * @param id     需要支付的订单id
     * @param payPwd 登录密码
     * @return
     */
    @FormUrlEncoded
    @POST("/api/activity/payOrder")
    Observable<RegisterData> getActivityPayOrderData(@Field("id") String id,
                                                     @Field("payPwd") String payPwd,
                                                     @Field("verifyCode") String verifyCode,
                                                     @Field("googleCode") String googleCode);


    /**
     * 记录--参与活动 记录
     *
     * @param limit 条数
     * @param page  页数
     * @return
     */
    @FormUrlEncoded
    @POST("/api/activity/joinList")
    Observable<ActivityJoinListData> getActivityJoinListData(@Field("limit") String limit,
                                                             @Field("page") String page);


    /**
     * 取消订单--活动
     *
     * @param id 需要取消的订单id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/activity/cancelOrder")
    Observable<RegisterData> getActivitycancelOrderData(@Field("id") String id);


    /**
     * 账单记录详情
     *
     * @param logId 订单id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/wallet/getWalletLogDetail")
    Observable<WalletLogDetaiData> getWalletLogDetailData(@Field("logId") String logId);

    /**
     * 提现订单详情
     *
     * @param id 订单id
     * @return
     */
    @FormUrlEncoded
    @POST("/api/draw/detail")
    Observable<WalletLogDetaiData> getDrawLogDetailData(@Field("id") String id);


//    @GET("/api/user/my")
//    Observable<LoginData> getMineData(@Query("pwd") String pwd);

//    /**
//     * 登录
//     *
//     * @param username
//     * @param password
//     * @param sign
//     * @return
//     */
//    @FormUrlEncoded
//    @POST("api/account/Login")
//    Observable<LoginEntry> toLogin(@Field("username") String username,
//                                   @Field("password") String password,
//                                   @Field("sign") String sign);
//
//    /**
//     * 头像上传
//     *
//     * @return
//     */
//    @Multipart
//    @POST("api/News/UploadFile")
//    Observable<Message> UploadHeadPortrait(@Part MultipartBody.Part file);
//
//    @FormUrlEncoded
//    @POST("api/User/UserInfoEdit")
//    Observable<Message> UpInfo(@Field("UserId") String UserId, @Field("Nickname1") String
//            Nickname1, @Field("Duty") String Duty, @Field("UserName") String UserName,
//                               @Field("Mobile") String Mobile, @Field("Qq") String Qq, @Field
//                                       ("Weixin") String Weixin, @Field
//                                       ("Email") String Email);


}